<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>


<script>
/**
 * 查看字符串或者数组是否有重复值
 * @param  {[array | str]} val [description]
 * @return {[boolean]}     [true表示有重复， false表示没有]
 */
// 1、lastIndexOf方法
function demo1(val) {
	for (var i = 0; i < val.length; i++) {
		// console.log(str.lastIndexOf(str[i]))
		if (val.lastIndexOf(val[i])  !== i) {
			return true
		}
	}
	return false
}

// 2、数组的方法
function demo2(val) {
	let arr = [];
	for (var i = 0; i < val.length; i++) {
		if (arr.indexOf(val[i]) > -1) {
			return true
		}
		arr.push(val[i])
	}
	return false
}

// 3、对象的方法
function demo3(val) {
	let o = {};
	for (var i = 0; i < val.length; i++) {
		if (o[val[i]]) {
			return true
		}
		o[val[i]] = true;
	}
	return false
}

// 4、new Set(), 用来检测是否有重复值
function demo4(arr) {
	if (!Array.isArray(arr)) throw new Error('不是一个数组');
	var set = new Set(arr);
	var arr2 = [...set];
	if (arr.length !== arr2.length) return true;
	return false
}

var isT1 = demo2('abcdsfqeqs')
var isT2 = demo2('abcde')
console.log(isT1)
console.log(isT2)

console.log(demo4([1,2,3,4,5,5,5]))	
console.log(demo4([1,2,3,4,5]))

</script>
</body>
</html>